package com.hqd.ch03.v50.context;

import com.hqd.ch03.v50.aware.Aware;
import com.hqd.ch03.v50.core.metrics.ApplicationStartup;

public interface ApplicationStartupAware extends Aware {

    /**
     * Set the ApplicationStartup that this object runs with.
     * <p>Invoked after population of normal bean properties but before an init
     * callback like InitializingBean's afterPropertiesSet or a custom init-method.
     * Invoked before ApplicationContextAware's setApplicationContext.
     *
     * @param applicationStartup application startup to be used by this object
     */
    void setApplicationStartup(ApplicationStartup applicationStartup);

}
